/**
 * 4. 栈
 * 4.1 创建一个 JavaScript 数据结构 和 算法库
 * 4.2 栈数据结构
 * 4.2.1 创建一个基于数组的栈
 * 4.2.2 向栈添加元素
 * 4.2.3 从栈移除元素
 * 4.2.4 查看栈顶元素
 * 4.2.5 检查栈是否为空
 * 4.2.6 清空栈元素
 * 4.2.7 使用 Stack 类
 * 4.3 创建一个 基于 JavaScript 对象的 Stack 类
 * 4.3.1 向栈中插入元素
 * 4.3.2 验证一个栈 是否 为空 和 他的大小
 * 4.3.3 从栈中弹出元素
 * 4.3.4 查看栈顶的值并将栈清空
 * 4.3.5 创建 toString 方法
 * 4.4 保护数据结构内部元素
 * 4.4.2 用ES2015 的限定作用域 Symbol 实现类
 * 4.4.3 用ES2015 的WeakMap 实现类
 * 4.4.4 ECMAScript 类属性提案
 * 4.5 用栈解决问题
 *
 */